package com.hs.srm.admin.modules.invoice.entity;

import java.io.Serializable;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import cn.afterturn.easypoi.excel.annotation.Excel;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;

/*
 * 发票数据表
 */
@Setter
@Getter
@ToString
@TableName("scm_invoice")
public class ScmInvoiceEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    public ScmInvoiceEntity() {
        super();
    }

    /*
     * 流水编号
     */
    @TableId(type = IdType.UUID)
    @TableField("pk_id")
    @Excel(name = "流水编号", orderNum = "1")
    private java.lang.String pkId;

    /*
     * 发票类型
     */
    @TableField("invoice_type")
    @Excel(name = "发票类型", orderNum = "2")
    private java.lang.String invoiceType;

    /*
     * 公司代码
     */
    @TableField("comp_code")
    @Excel(name = "公司代码", orderNum = "3")
    private java.lang.String compCode;

    /*
     * 供应商发票号
     */
    @TableField("invoice_no")
    @Excel(name = "供应商发票号", orderNum = "4")
    private java.lang.String invoiceNo;

    /*
     * 对账单号
     */
    @TableField("bill_no")
    @Excel(name = "对账单号", orderNum = "5")
    private java.lang.String billNo;

    /*
     * 会计输入凭证
     */
    @TableField("kjsr_pz")
    @Excel(name = "会计输入凭证", orderNum = "6")
    @JsonFormat(pattern = "yyyy-MM-dd hh:ss:mm", timezone = "GMT+8")
    private java.util.Date kjsrPz;

    /*
     * 输入时间
     */
    @TableField("kjsr_time")
    @Excel(name = "输入时间", orderNum = "7")
    @JsonFormat(pattern = "yyyy-MM-dd hh:ss:mm", timezone = "GMT+8")
    private java.util.Date kjsrTime;

    /*
     * 发票方
     */
    @TableField("invoice_person")
    @Excel(name = "发票方", orderNum = "8")
    private java.lang.String invoicePerson;

    /*
     * 采购订单号
     */
    @TableField("po_no")
    @Excel(name = "采购订单号", orderNum = "9")
    private java.lang.String poNo;

    /*
     * 会计凭证编号
     */
    @TableField("kjpzbh")
    @Excel(name = "会计凭证编号", orderNum = "10")
    private java.lang.String kjpzbh;

    /*
     * 发票日期
     */
    @TableField("date_fp")
    @Excel(name = "发票日期", orderNum = "11")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private java.util.Date dateFp;

    /*
     * 过账日期
     */
    @TableField("date_gz")
    @Excel(name = "过账日期", orderNum = "12")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private java.util.Date dateGz;

    /*
     * 基准日期
     */
    @TableField("date_jz")
    @Excel(name = "基准日期", orderNum = "13")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private java.util.Date dateJz;

    /*
     * 采购组
     */
    @TableField("purch_group")
    @Excel(name = "采购组", orderNum = "14")
    private java.lang.String purchGroup;

    /*
     * 付款条件
     */
    @TableField("payment_term")
    @Excel(name = "付款条件", orderNum = "15")
    private java.lang.String paymentTerm;

    /*
     * 发票总额
     */
    @TableField("sum_money")
    @Excel(name = "发票总额", orderNum = "16")
    private java.math.BigDecimal sumMoney;

    /*
     * 凭证抬头文本
     */
    @TableField("bk_txt")
    @Excel(name = "凭证抬头文本", orderNum = "17")
    private java.lang.String bkTxt;

    /*
     * 税码
     */
    @TableField("tax_code")
    @Excel(name = "税码", orderNum = "18")
    private java.lang.String taxCode;

    /*
     * 计算税额
     */
    @TableField("tax_money")
    @Excel(name = "计算税额", orderNum = "19")
    private java.lang.String taxMoney;

    /*
     * 税率
     */
    @TableField("tax_rate")
    @Excel(name = "税率", orderNum = "20")
    private java.lang.String taxRate;

    /*
     * 货币码
     */
    @TableField("currency")
    @Excel(name = "货币码", orderNum = "21")
    private java.lang.String currency;

    /*
     * 处理状态
     */
    @TableField("deal_status")
    @Excel(name = "处理状态（未操作0，通过1，未通过-1）", orderNum = "22")
    private int dealStatus;

    /*
     * 备注
     */
    @TableField("remark")
    @Excel(name = "备注", orderNum = "23")
    private java.lang.String remark;

    /*
     * 创建人
     */
    @TableField("createdBy")
    @Excel(name = "创建人", orderNum = "24")
    private java.lang.String createdBy;

    /*
     * 创建时间
     */
    @TableField("creationDate")
    @Excel(name = "创建时间", orderNum = "25")
    @JsonFormat(pattern = "yyyy-MM-dd hh:ss:mm", timezone = "GMT+8")
    private java.util.Date creationDate;

    /*
     * 更新人
     */
    @TableField("lastUpdatedBy")
    @Excel(name = "更新人", orderNum = "26")
    private java.lang.String lastUpdatedBy;

    /*
     * 更新时间
     */
    @TableField("lastUpdateDate")
    @Excel(name = "更新时间", orderNum = "27")
    @JsonFormat(pattern = "yyyy-MM-dd hh:ss:mm", timezone = "GMT+8")
    private java.util.Date lastUpdateDate;

    @TableField(exist = false)
    private String billId;
}
